Overview

Memory
  • Has a Garbage Collector.

  • Can store memory addresses, just like C, using & and *.

Safety
  • Default:  controlled by the case  of the identifier:

    • Starting with uppercase letter: Public  (exported outside the package).

    • Starting with lowercase letter: Private  (accessible only within the same package).

    • This is widely disliked. I don’t like it and Prime hates it.

package main

type MyStruct struct { // Exported (public)
    PublicField int
    privateField int // Private to the package
}
Syntax
  • Static typing.

  • Has 'var' in function definitions; or you can use ':=' to define the type via value inference.

  • Must pay more attention to declared types.

    • int8, int16, uint16, etc.

  • Some low-level caveats exist, despite the syntax being relatively simple.

  • Multiple variables can be defined on a single line, just like Python.

  • Functions can have multiple return values.

something := 2

import 'fmt'
fmt.println('hi')

Impressions

  • Default Access Control  controlled by the case  of the identifier:

    • Bro .

    • Starting with uppercase letter: Public  (exported outside the package).

    • Starting with lowercase letter: Private  (accessible only within the same package).

  • Does not have null safety.

  • Nothing stood out to me. Not impressive and has few use cases.

  • Meh.